// 延迟
export function sleep(time) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve()
    }, time)
  })
}

// 随机数
export function random(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min)
}

// export function extractJson(str) {
//   // 用正则提取大括号里的 JSON 内容
//   const match = str.match(/{[\s\S]*}/)
//   if (!match) return null

//   try {
//     return JSON.parse(match[0])
//   } catch (err) {
//     console.error('❌ JSON 解析失败:', err)
//     throw err
//   }
// }

export function extractJson(str) {
  // 优化正则，确保提取整个JSON对象
  const match = str.match(/{[\s\S]*}/);
  if (!match) {
    console.error('❌ 未能提取到 JSON 数据');
    return null;
  }

  // 提取的 JSON 字符串
  const jsonString = match[0];

  try {
    // 尝试解析 JSON
    return JSON.parse(jsonString);
  } catch (err) {
    console.error('❌ JSON 解析失败:', err);
    console.error('❌ 错误的 JSON 字符串:', jsonString);
    throw err;  // 可以根据需求决定是否重新抛出异常
  }
}

